/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.marcelo.agro.productos.actions;

import java.awt.Dialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import org.marcelo.agro.constantes.IConstantes;
import org.marcelo.agro.entidades.Productos;
import org.marcelo.agro.productos.gui.AgregarProductos;
import org.openide.DialogDescriptor;
import org.openide.DialogDisplayer;
import org.openide.awt.ActionRegistration;
import org.openide.awt.ActionReference;
import org.openide.awt.ActionReferences;
import org.openide.awt.ActionID;
import org.openide.util.NbBundle.Messages;

@ActionID(category = "Registros",
id = "org.marcelo.agro.productos.actions.AgregarProductosActions")
@ActionRegistration(displayName = "#CTL_AgregarProductosActions")
@ActionReferences({
    @ActionReference(path = "Menu/Registros", position = 1200)
})
@Messages("CTL_AgregarProductosActions=Agregar Productos")
public final class AgregarProductosActions implements ActionListener {

    private static String TITULO_VENTANA = IConstantes.TITULO_DLGS_PRODUCTO;
    
    private Productos productos;
    
    private AgregarProductos agregarProductos;
    private Dialog dialog;
//    private PropertyChangeListener pcl = new PropertyChangeListener() {
//
//        @Override
//        public void propertyChange(PropertyChangeEvent evt) {
//            if (evt.getPropertyName().equals(AgregarProductos.PROPIEDAD_SALIR)) {
//                if (dialog != null) {
//                    if (agregarProductos != null)
//                        agregarProductos.removePropertyChangeListener(pcl);
//                    dialog.dispose();
//                }
//            }
//        }
//    };

    public AgregarProductosActions() {
        productos = null;
    }

    public AgregarProductosActions(Productos productos) {
        this.productos = productos;
    }
    
    
    
    
    
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO implement action body
        Object[] botones  = new Object[] {DialogDescriptor.CLOSED_OPTION}; //NOI18N
        int initialValue = 0;
        agregarProductos = new AgregarProductos(productos);
        DialogDescriptor dd = new DialogDescriptor(agregarProductos,TITULO_VENTANA, 
                true, botones, initialValue, 0, null, agregarProductos);
        dd.setClosingOptions(botones);
        dialog = DialogDisplayer.getDefault().createDialog(dd);
        agregarProductos.setParent(dialog);
        dialog.setVisible(true);
    }
}
